/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author Administrator
 */
public interface Searcher {

    /**
     * Return all soultions as String
     * @return Return all soultions as String
     */
    public String getAllSolution();

    /**
     *Return execution time
     * @return execution time
     */
    public long time();

    /**
     *Return number of solution
     * @return number of solution
     */
    public int getNoSolution();

    /**
     *Return number of backtrack
     * @return number of backtrack
     */
    public int getBackTrack();

    /**
     *Retrun number of nodes
     * @return number of nodes
     */
    public int getNodes();

    /**
     *retrun number of decisions
     * @return number of decisions
     */
    public int getDecision();

    /**
     *retrun number of wrong decisions
     * @return number of wrong decisions
     */
    public int getWrongDecision();

    /**
     *retrun number of diffrent letters used in Cryptarithm
     * @return number of diffrent letters used in Cryptarithm
     */
    public int getNumberLitteral();

    /**
     *Return all letters in cryptarithm as String
     * @return Return all letters in cryptarithm as String
     */
    public String printDifrentChar();

    /**
     *Return maximum depth
     * @return maximum depth
     */
    public int getMaximumDepth();

    /**
     *Check that solution exists
     * @return true if there is a solution, false otherwise
     */
    public boolean search();
}
